home *** CD-ROM | disk | FTP | other *** search
/ Atari Mega Archive 1 / Atari Mega Archive - Volume 1.iso / language / pcl_src.zoo / may-day-notes.txt < prev    next >
Text File  |  1990-05-05  |  3KB  |  99 lines

  1. Copyright (c) Xerox Corporation 1989, 1990. All rights reserved.
  2.  
  3. These notes correspond to the "5/1/90 May Day PCL (REV 2)" version of PCL.
  4.  
  5. This version is just Rainy Day PCL with the various patches people have
  6. mailed out included.  Barring unforseen circumstances, this will be the
  7. last version of PCL.  We are now working on the Metaobject Protocol.
  8.  
  9.  
  10. Please read this entire file carefully.  Failure to do so guarantees
  11. that you will have problems porting your code from the previous release
  12. of PCL.
  13.  
  14. You may also be interested in looking at previous versions of the
  15. notes.text file.  These are called xxx-notes.text where xxx is the
  16. version of the PCL system the file corresponds to.  At least the last
  17. two versions of this file contain useful information for any PCL user.
  18.  
  19. This version of PCL has been tested at PARC in the following Common
  20. Lisps:
  21.  
  22.   Symbolics 7.2, 7.4
  23.   Coral 1.3
  24.   Lucid 3.0
  25.   Allegro 3.0.1
  26.  
  27. These should work, but haven't been tested yet:
  28.  
  29.   TI
  30.   Golden Common Lisp 3.1
  31.   EnvOS Medley
  32.   IBCL (October 15, 1987)
  33.  
  34. This release of PCL is substantially different from previous releases.
  35. The architecture of the runtime system (method lookup and slot access)
  36. is different, and the metaobject protocol is different.  Much of the
  37. code in this release is new or modified from the last release.
  38.  
  39. When it stabilizes, this release should be much faster for all
  40. applications especially large ones.
  41.  
  42. This beta version of the new release includes a number of known
  43. problems.  These include:
  44.  
  45. * Even less documentation than ever before.  I haven't written much of a
  46. notes file for what is different yet.  Please send me comments for what
  47. to include in this file.
  48.  
  49. * Some known performance problems in development versions of compilers.
  50. At the very least, you want to compile PCL itself using the highest
  51. performance compiler settings you have.  
  52.  
  53.  
  54. === Notes for this release (such as they are) ===
  55.  
  56. * There is one major incompatible change in this release.  In this
  57. release compiling files with defmethod and defclass forms doesn't, by
  58. default, affect the running lisp image.  The winning part of this is you
  59. can compile a file without `installing' the class and method definitions
  60. in the file.  The losing part is that because PCL is a portable program,
  61. it can't both do this and let a class definition and a method which
  62. specializes to that class appear in the same file.
  63.  
  64. So, you can't (by default) have:
  65.  
  66.   (defclass foo () ())
  67.   (defmethod bar ((f foo)) 'foo)
  68.  
  69. in the same file.
  70.  
  71. But you say you want to do this, almost everyone does.  If you want to
  72. do this just evaluate the following form before after loading PCL but
  73. before working with it:
  74.  
  75.   (pushnew 'compile pcl::*defclass-times*)
  76.  
  77. You may also want to do:
  78.  
  79.   (pushnew 'compile pcl::*defmethod-times*)
  80.  
  81.  
  82. * You probably also want to begin using a precom file for your system.
  83. Do this by having a file whose only contents is
  84.  
  85.   (pcl::precompile-random-code-segments <your-system-name>)
  86.  
  87. don't quote <your-system-name>
  88.  
  89. for example, for the clim system, the precom file has the one line:
  90.  
  91.   (pcl::precompile-random-code-segments clim)
  92.  
  93. compile this file after loading and running your system for a while.
  94. load it before loading your compiled system.  A future version of this
  95. feature won't require you to have run your system for a while, it will
  96. only require that you have loaded it.
  97.  
  98.  
  99.